home *** CD-ROM | disk | FTP | other *** search
- *
- * PatchNTSC.asm
- *
- * Patches "OpenScreen()" so that Screens higher than 216
- * will have the "ViewMode->Interlace"-Flag set
- *
- * Allows NTSC-Users to use PAL programs without loosing the
- * bottom of screen
- *
- * © 1990 by Oliver Wagner
- * Landsberge 5
- * 4322 Sprockhövel
- * West Germany
- *
- * Freely distributable IF no charge is made for anything!
- * Darf nicht von Mitgliedern der "Schwarzen Liste" der PD-Vertreiber
- * (erstellt durch die AmigaUserGroupSwitzerland AUGS) genutzt/verbreitet
- * werden!
- *
- * A68k PatchNTSC.asm
- * BLINK PatchNTSC.asm,lib:small.lib to PatchNTSC
- *
-
- call MACRO
- xref _LVO\1
- jsr _LVO\1(a6)
- ENDM
- jump MACRO
- xref _LVO\1
- jmp _LVO\1(a6)
- ENDM
-
- CODE
- move.l 4,a6
- move.l $114(a6),a0
- moveq #0,d7
- tst.l $ac(a0)
- bne.s fromcli
- lea $5c(a0),a0
- call WaitPort
- call GetMsg
- move.l d0,d7
- fromcli:
- lea dosname(pc),a1
- call OldOpenLibrary
- move.l d0,d6
- lea intname(pc),a1
- call OldOpenLibrary
- move.l d0,a5
- move.l -196(a5),a3
- cmp.l #'Olli',20(a3)
- bne.s install
- * remove patch
- move.l a3,a1
- move.l 16(a1),-196(a5)
- moveq #24,d0
- call FreeMem
- lea remmsg(pc),a4
- exit:
- move.l d6,a6
- tst.l d7
- bne.s fromwb
- call Output
- bra.s writeit
- fromwb:
- lea winddef(pc),a0
- move.l a0,d1
- move.l #1005,d2
- call Open
- move.l d0,d4
- beq.s nowrite
- writeit:
- moveq #-1,d3
- move.l a4,d2
- move.l d0,d1
- len:
- addq.l #1,d3
- tst.b (a4)+
- bne.s len
- call Write
- tst.l d7
- beq.s nowrite
- moveq #127,d1
- call Delay
- move.l d4,d1
- call Close
- nowrite:
- move.l 4,a6
- tst.l d7
- bne.s replywb
- moveq #0,d0
- rts
- replywb:
- move.l d7,a1
- jump ReplyMsg
-
- install:
- lea insmsg(pc),a4
- moveq #0,d1
- moveq #24,d0
- call AllocMem
- move.l d0,d4
- lea old+2(pc),a0
- move.l a3,(a0)
- lea newopen(pc),a0
- move.l d0,a1
- moveq #5,d0
- copy:
- move.l (a0)+,(a1)+
- dbf d0,copy
- move.l d4,-196(a5)
- bra.s exit
-
- newopen:
- cmp.w #216,6(a0)
- ble.s old
- or.w #4,12(a0)
- old:
- jmp $f000000
- dc.l 'Olli'
-
- dosname:
- dc.b "dos.library",0
- intname:
- dc.b "intuition.library",0
- remmsg:
- dc.b 10,$9b,"33;1m PatchNTSC ",$9b,"0;1m removed!",10,10,0
- insmsg:
- dc.b 10,$9b,"33;1m PatchNTSC ",$9b,"0;1m installed!",10
- dc.b " © 1990 by Oliver Wagner / Ultimate Computer Arts",10
- dc.b $9b,"0m 'OpenScreen()' patched for Height >216",10,10,0
- winddef:
- dc.b "con:30/40/420/61/PatchNTSC",0
-
- END
-
-